<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>计数排序</title>
</head>

    <script>

        /**
         * 1.先对数组数量进行计数，然后缓存到一个数组里面
         * 2.便利缓存的数组，利用foreach遍历不会获取空值来获取最终数据
         *  **/
        function countSort(arr) {
            let len = arr.length;
            let catchArr = []
            for(let i=0;i<len;i++){
                if(catchArr[arr[i]]) {
                    catchArr[arr[i]] = catchArr[arr[i]] + 1
                }else{
                    catchArr[arr[i]] = 1
                }
                
            }
            
            let crr= []
            console.log(catchArr)
            catchArr.forEach((item,index)=>{
                if(item === 1){
                    crr.push(index)
                }else{
                    for(let j=0 ; j < item ; j++){
                        crr.push(index)
                    }   
                }
            })

            return crr
        }

        console.log(countSort([1]))
    </script>
    
</body>
</html>